﻿using Artech.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;

namespace Artech.Core.Resources
{
    [ServiceContract(Namespace = Constants.Namespaces.ServiceContact, SessionMode = SessionMode.NotAllowed)]
    public interface IResourceService
    {
        [OperationContract]
        StringResourceEntry[] GetStringsForEdit(StringResourceSearchCriteria criteria, int pageSize, int pageIndex, ResourceEntryField orderBy, SortDirection sortDirection);
        [OperationContract]
        void UpdateStrings(StringResourceEntry[] resourceEntries);

        [OperationContract]
        StringResourceItem[] GetAllStrings(string culture);
        [OperationContract]
        StringResourceItem[] GetStringsByCategory(string category, string culture);
        [OperationContract]
        StringResourceItem[] GetStringsByName(string category, string name, string culture);  
    }
}
